package framework.ioc.container;

/**
 * @author 马洁
 * @date 2020/3/12 - 14:14
 */
public interface ObjectPool {
    /**
     * 根据类名获取类实例
     *
     * @param cls 类名称
     * @return 类实例
     */
    Object getClassInstance(Class<?> cls);

    /**
     * 根据类名称, 以及相应类型的构造器获取类实例
     *
     * @param cls      类名称
     * @param initArgs 初始化变量
     * @return 类实例
     */
    Object getClassInstance(Class<?> cls, Object[] initArgs);
}
